home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 80 / XENIATGM80.iso / Goodies / Blood 2 / Source / data.z / AI_Shared.h < prev    next >
C/C++ Source or Header  |  1999-04-02  |  3KB  |  95 lines

  1. // ----------------------------------------------------------------------- //
  2. //
  3. // MODULE  : AI_Shared.h
  4. //
  5. // PURPOSE : Shared AI modules
  6. //
  7. // CREATED : 
  8. //
  9. // ----------------------------------------------------------------------- //
  10.  
  11. #ifndef __SHARED_AI_H__
  12. #define __SHARED_AI_H__
  13.  
  14. class AI_Shared 
  15. {
  16.     public :
  17.  
  18.         AI_Shared();
  19.         ~AI_Shared() {}
  20.  
  21. // Need New Functions        
  22.         HOBJECT GetNewTarget()        {    return DNULL;    }
  23.         DBOOL PickBestWeapon()        {    return DTRUE;    }
  24.  
  25.         DVector GetEyeLevel(HOBJECT m_hObject);
  26.         
  27.         DBOOL   IsLedge(HOBJECT m_hObject, DFLOAT m_fDist);
  28.         
  29.         DFLOAT  DistToWorld(HOBJECT m_hObject, DVector vDir);
  30.         DFLOAT  DistToWorldForward(HOBJECT m_hObject);
  31.         DFLOAT  DistToWorldBackward(HOBJECT m_hObject);
  32.         DFLOAT  DistToWorldRight(HOBJECT m_hObject);
  33.         DFLOAT  DistToWorldLeft(HOBJECT m_hObject);
  34.         
  35.         DBOOL   IsObjectVisible(HOBJECT m_hObject, HOBJECT hTestObj);
  36.         DBOOL   IsObjectVisibleToAI(HOBJECT m_hObject, HOBJECT hTestObj, DFLOAT m_fSeeingDist);
  37.         
  38.         HOBJECT SenseForEnemy(HOBJECT m_hObject, DFLOAT fRange);
  39.         HOBJECT SmellForEnemy(HOBJECT m_hObject, DFLOAT fRange);
  40.         HOBJECT LookForEnemy(HOBJECT m_hObject, DFLOAT fRange);
  41.         
  42.         HOBJECT FindObjectInRadius(HOBJECT m_hObject, HCLASS hObjectTest, DFLOAT fRange, DBOOL bCheckVisible, char* sObjName, DBOOL bNear);
  43.         
  44.         DBOOL   CheckForProjectile(HOBJECT m_hObject);
  45.         
  46.         void    FacePosition(HOBJECT m_hObject, DVector vTargetPos);
  47.         DFLOAT  PitchToObject(HOBJECT m_hObject, HOBJECT hPTarget);
  48.         
  49.         void    Strafe(HOBJECT m_hObject, DFLOAT m_strafeSpeed);
  50.         DBOOL   Jump(HOBJECT m_hObject, DFLOAT m_YjumpSpeed, DFLOAT m_ZjumpSpeed);
  51.         int     WalkThisWay(HOBJECT m_hObject, DFLOAT m_fSpeed, int m_theAnima);
  52.  
  53.         int     MoveBackward(HOBJECT m_hObject, DFLOAT m_fSpeed, int m_theAnima);
  54.  
  55.         DBOOL   StuckOnSomething(HOBJECT m_hObject, DFLOAT m_fSpeed, DVector m_vLastPos);
  56.  
  57.         void    Roll(HOBJECT m_hObject, DVector vDir, DFLOAT fSpeed);
  58.         void    TurnRorL(HOBJECT m_hObject, DFLOAT m_fRadius);
  59.         void    TurnR(HOBJECT m_hObject, DFLOAT m_fRadius);
  60.         void    TurnL(HOBJECT m_hObject, DFLOAT m_fRadius);
  61.         DBOOL    TurnToClear(HOBJECT hObject);
  62.         
  63.         
  64.         DBOOL   FaceTarget(HOBJECT m_hObject, HOBJECT m_hTarget);
  65.  
  66.         void    CreateGibs(HOBJECT hObject,DDWORD dwFlags, int nCorpse = 0, int nNode = 999);
  67.         void    CreateLimb(HOBJECT hObject, int nNode, DVector vDir);
  68.         DBOOL    HideLimb(HOBJECT hObject, int nNode, DBOOL bInverse = DFALSE);
  69.         DBOOL    HideNodeAndSubNodes(HOBJECT hObject, int nNode, DBOOL bHide);
  70.         void    ResetNodes(HOBJECT hObject);
  71.         
  72.         void    SetAnimation(HOBJECT m_hObject, int nAni);
  73.         void    ForceAnimation(HOBJECT m_hObject, int nAni);
  74.  
  75. // 10/24/97
  76.         DBOOL LoadBrains(char* pfilename);
  77.         
  78.         // AIState BrainState(char* sName);
  79.         // AISubState BrainSubState(char* sName);
  80.         // AIMetaCommand BrainMetaCommand(char* sName);
  81.  
  82.  
  83.     protected : // Member Variables
  84.  
  85.     DBOOL m_bTurnR;
  86.     DBOOL m_bTurnL;
  87.  
  88.     DVector m_vLastStrafePos;
  89.     DBOOL m_bStrafing;
  90.     
  91.     DBOOL m_bJumping;
  92.  
  93. };
  94.  
  95. #endif // __SHARED_AI_H__